package service;

import pojo.Comment;

import java.util.List;

/**
 * 评论服务层接口
 */
public interface ICommentService {
    /**
     * 用户提交评论
     * @param comment
     * @return
     */
    int addComment(Comment comment);

    /**
     * 获取帖子的评论
     * @param articleId 帖子的id
     * @param pageSize 获取的数据量
     * @param pageCurrent 获取的页码
     * @return
     */
    List<Comment> getCommentsByArticleId(Integer articleId,int pageSize,int pageCurrent);

    /**
     * 获取评论信息
     * @param articleId
     * @return
     */
    Comment getCommentById(Integer articleId);

    /**
     * 获取用户已经阅读过但没有删除的回复
     * @param userId
     * @return
     */
    List<Comment> getCommentsByReplyUserIdAndNotDel(Integer userId);

    /**
     * 获取用户尚且没有阅读的回复
     * @param userId
     * @return
     */
    List<Comment> getCommentsByReplyUserIdAndStatus(Integer userId,int status);

    /**
     * 获取帖子为articleId下的评论条数
     * @param articleId
     * @return
     */
    int getCommentCountByArticleId(Integer articleId);

    /**
     * 修改评论多个字段的信息
     * @param comment
     * @return
     */
    int modifyCommentByCommentId(Comment comment);

    /**
     * 设置评论状态 0 未读 1已读 2删除（不在显示）
     * @param replyUserId 用户id
     * @param status    状态
     * @return
     */
    int setCommendStatusByReplyUserId(Integer replyUserId, int status);

//    List<Comment> getCommentByUserId(Integer userId);
}
